The present invention relates to communication mechanisms for computers performing parallel calculation processing in plural packet switched-type networks. In particular, the present application relates to a packet relay control method for realizing load dispersion with high reliability, a packet relay device, and a program memory medium for storing relates program. The present invention also provides a single system image at an address level while distributing request packets, via a network, to appropriate nodes in a cluster.
In a computer network, OSI protocol stack(s) according to ISO, CCITT, or TCP/IP and the like, are used. The protocol stacks act as a transport layer and provide a mechanism which performs communication from a specific process of a transmission host, to a specific process of a reception host. The transport end point is designated by assembling the host designation and service end point designation elements. In TCP/IP, the host designation becomes the IP address, the service end point designation becomes the port number. The receiving computer performs processing which transmits the communication content to the necessary process.
To construct a large scale network server, clusters are used which connect a plurality of personal computers (PC) or workstations (WS). The processing nodes in a cluster have a minimum of one network interface each, and are allotted individual network addresses.
When a client requests a service from a cluster, the client acquires a network address of one node in the cluster and sends a request packet. Normally, the acquisition of a network address requires an inquiry to a name server. The name server performs distributed management of a database using conversion data relating host names, which are a human concept, to network addresses. In a name service, which some name server provides, a cluster appears to be one system, with a plurality of network addresses corresponding to a single host name. For example, the Internet standard DNS (Domain Name System) provides for such name service. The DNS manages the relationship between domain names and IP addresses on the Internet.
When a client makes a request, selecting one address, as each client is different, the request dispersed in nodes within a cluster. When viewed from a client receiving a service, it is desirable for the cluster to appear as though it were a high performance single server. A cluster which appears as one system is said to have a single system image (SSI). By having a SSI, a client can access the cluster in the same way as accessing a single node of a server. One method of implementing an SSI cluster which has plural network interfaces is using round robin DNS.
FIG. 16 is a diagram showing an example of an http cluster consisting of a node 9C (named) which manages 2 processing nodes 9A and 9B (http) and IP addresses. An external network 4 connects user terminals 5A to 5M which receive service from the cluster. In general, the nodes 9A-9C provide service for the user terminals 5A-5M. A router (relay device) connects the external network 4 to a cluster network 92 connecting nodes 9A-9C.
Names on the network of the system are registered and referred to using the DNS. In accordance with the DNS, addresses of plural IPs can be registered in connection with one domain name. In the example shown in FIG. 16, the nodes 9A and 9B appear as one name to the clients of the user terminals 5A-5M. The node "named" (node 9C) realizes the DNS as a record (A record) of an IP address of a domain name, for example: www.domain.co.jp. The IP address of the network interface of nodes 9A, 9B which operate httpd, are registered in a list, such as:
www.domain.co.jp IN A XXX.XXX.XXX.YYY ;; (Address of Node 9A)
www.domain.co.jp IN A XXX.XXX.XXX.ZZZ ;; (Address of Node 9B)
From the client's point of view he can access the whole cluster which the name represents. When there is an inquiry from the client for the record A, the node 9C responds by changing the order. When plural clients access this cluster, because it replies with the IP address of the correct node as an index result, the request is distributed randomly to the httpd nodes 9A and 9B.
Normally, because the user who uses a web client has no IP address and is recognized by a domain name, it is sufficient in many cases if the domain name is by one system image. In other words, a round robin DNS at the domain name level is an SSI. However, at the IP address level, two addresses exist, the address of node 9A and the address of node 9B. Thus, nodes 9A and 9B do not appear as one system. This causes problems such as when a partial failure of a node occurs.
When the node 9A and the node 9B provide the same service, consider the case in which node 9A fails. By an inquiry to the DNS, or a client which has acquired the IP address of the node 9A (which has failed), because no service is received from the node 9A, it appears that the httpd service has stopped. Even if the node 9B puts a connection in motion, insofar as this client does not acquire an address, service is not restored for the client.